Skip to content

Add printer wizard - #343

Merged
agritheory merged 11 commits into
version-15from
add_printer_wizard
Jun 25, 2026
Merged

Add printer wizard#343
agritheory merged 11 commits into
version-15from
add_printer_wizard

Conversation

@agritheory

Copy link
Copy Markdown
Owner

No description provided.

@agritheory
agritheory requested a review from lauty95 June 22, 2026 15:06
@github-actions

Copy link
Copy Markdown

Draft Changelog Entry

Changelog Entry

This update adds a printer wizard and queue management system to the application. A new printer queue page has been added that allows viewing and managing print jobs. A printer fleet status report has been introduced to provide visibility into the status of configured printers.

Network printer settings have been expanded with additional configuration options and a quick entry interface for faster setup. The printer configuration system now includes enhanced utilities for managing printer connections and settings.

Documentation for the print server functionality has been updated to reflect the new capabilities.

This changelog entry was automatically generated by the Changelog Generator Action.

@agritheory
agritheory marked this pull request as draft June 22, 2026 15:06
@github-actions

github-actions Bot commented Jun 22, 2026

Copy link
Copy Markdown

Coverage

Coverage Report •
FileStmtsMissCoverMissing
beam
   printer_queue.py2535179%66, 71–81, 85–86, 92, 97, 99, 105, 108–109, 123, 125, 128–129, 189–191, 196, 204–208, 264, 281–282, 284–288, 291–292, 299, 305, 341–342, 407, 441, 452–453
   printing.py956036%20–22, 47, 50–51, 53–56, 65–69, 73–74, 76–77, 86–90, 94, 100, 109–115, 117–118, 120, 125, 127–128, 143–148, 150–156, 163–166, 168–171
beam/overrides
   network_printer_settings.py59418469%52–53, 94, 103–105, 107–110, 112, 114–115, 126–130, 140–146, 151, 158–164, 169, 176, 188, 214, 233, 239–241, 270, 279, 313–314, 318–321, 323–331, 378, 384–385, 393–395, 400, 415, 441–442, 447–448, 461, 474, 487–492, 503–507, 549–552, 561, 583, 587–589, 612, 618, 639, 645, 661, 686, 699–703, 719–723, 727, 748, 787, 800–801, 817, 830, 860–870, 878–882, 894, 925, 942, 947, 957–962, 967, 971, 984–985, 1001–1006, 1012–1013, 1015–1016, 1024–1027, 1029–1031, 1033, 1037–1040, 1042–1044, 1046, 1048–1049, 1051–1052, 1057, 1062, 1075, 1080–1084, 1094
beam/scan
   __init__.py2043781%23, 33, 89–91, 167–168, 178, 180–181, 185, 189–190, 193, 199, 240, 249, 255, 279, 281, 308, 310–311, 317–324, 331, 339, 353, 459, 467, 474
tests
   conftest.py48491%91, 151–153
   cups_test_utils.py1072180%29, 37–39, 53–58, 66, 70, 76–79, 91, 149–152
   test_barcode_auto_generate.py55394%24–26
   test_handling_unit.py4685987%18–19, 21–22, 544, 568, 609, 619, 646, 649–650, 653–662, 670–673, 682–684, 686–687, 689–691, 699, 706, 708–714, 716, 727–730, 739–742, 744–746, 754, 761–763, 765
   test_printer_queue.py144695%27, 52–53, 64, 89, 143
   test_printer_wizard.py210995%107, 113, 149, 253, 324, 356, 388, 424, 449
   test_telemetry.py64690%26, 31–34, 39
TOTAL325989672% 

@agritheory

Copy link
Copy Markdown
Owner Author

Requires agritheory/test_utils#211

@agritheory
agritheory marked this pull request as ready for review June 22, 2026 16:24
@agritheory
agritheory marked this pull request as draft June 22, 2026 16:24
@lauty95

lauty95 commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

COPY avahi-daemon.conf /etc/avahi/avahi-daemon.conf

I tried spinning up the CUPS container to test this PR. The Dockerfile hasn't been updated in 2 years and has some deprecated packages that can be safely ignored for this PR:

  • Line 42 references a nonexistent file avahi-daemon.conf. I commented it out.
  • printer-driver-all and printer-driver-gutenprint are unavailable for Debian arm64. I commented those out as well.
Screenshot 2026-06-23 at 10 26 01 AM

@agritheory

Copy link
Copy Markdown
Owner Author

@lauty95 Ah. I'm going to need to incorporate that into the tests, I was testing locally with a local service, not a container.

Comment thread beam/public/js/network_printer_settings_custom.js Outdated
Comment thread beam/public/js/network_printer_settings_custom.js Outdated
Comment thread beam/beam/overrides/network_printer_settings.py
Comment thread beam/beam/printer_queue.py Outdated
Comment thread beam/beam/overrides/network_printer_settings.py Outdated
@agritheory
agritheory marked this pull request as ready for review June 23, 2026 18:30
@agritheory

Copy link
Copy Markdown
Owner Author

@lauty95 Requested changes added, CUPS tests use testcontainers to run the containerfile that's part of the repo which is also available in the GHCR after this branch is merged.

@lauty95

lauty95 commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

@agritheory I saw the tests got stuck/hung — maybe we could add pytest-timeout as a dependency, so we can use the --timeout flag in pytest and prevent it from hanging until we happen to notice.

We could also add timeout-minutes to the tests job — considering it spins up the whole bench plus its configuration, a 30-minute limit would be fine.

Minor detail: concurrency is commented out in pytest.yaml, we could uncomment it to avoid parallel workflows when there are several pushes.

This is just to prevent the hang and stop it from running for 2h. We know the real hang starts after test_printer_cups_integration.py, probably in test_printer_queue.py, but I haven't tested it yet.

@agritheory

Copy link
Copy Markdown
Owner Author

@lauty95 Tests pass!

@agritheory
agritheory merged commit 5ab0514 into version-15 Jun 25, 2026
10 checks passed
@agritheory
agritheory deleted the add_printer_wizard branch June 25, 2026 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants